The code previously tried to stop spinner after it was hidden, but
due to an incorrect check was only stoppig it after it was shown.
Also, it was only stopping after hiding due to an animation, and
failing to stop it in the non-animated case.
This left the spinner hidden and running while VT switched away
from the login screen, only stopping when the auth prompt was
reset when switching back.
https://bugzilla.gnome.org/show_bug.cgi?id=753891
-Subproject commit 034d0b775b12f2212ba2028b153e4c2f31e6fa65
+Subproject commit 172666394146a88445811e86ce37a3f36775004c
if (oldActor)
Tweener.removeTweens(oldActor);
+ let wasSpinner;
+ if (oldActor == this._spinner.actor)
+ wasSpinner = true;
+ else
+ wasSpinner = false;
+
let isSpinner;
if (actor == this._spinner.actor)
isSpinner = true;
if (this._defaultButtonWellActor != actor && oldActor) {
if (!animate) {
oldActor.opacity = 0;
+
+ if (wasSpinner) {
+ if (this._spinner)
+ this._spinner.stop();
+ }
} else {
Tweener.addTween(oldActor,
{ opacity: 0,
transition: 'linear',
onCompleteScope: this,
onComplete: function() {
- if (isSpinner) {
+ if (wasSpinner) {
if (this._spinner)
this._spinner.stop();
}